/* syscall_tags.h
 * By: Spencer Clark
 * Date created: March 12th 2011
 * Date modified: April 7th 2011
 * Modified by: Spencer Clark
 */

#ifndef _XXXOS_SYSCALL_TAGS_H
#define _XXXOS_SYSCALL_TAGS_H

#include <stdarg.h>

/* This file consists of an enumeration of the system call numbers that are to
 * be passed to the kernel by syscall(). Each number corresponds to the index
 * of that system call's function pointer stored in an array in the
 * syscall_table.S file -- therefore the order of these tags should be exactly
 * the same as the order of the system calls in syscall_table.S.
 */

typedef enum {
  SYSC_fork = 0,
  SYSC_spork, 
  /* SYSC_yield,  ** THESE ARE NOT IMPLEMENTED IN ANY WAY **
   * SYSC_exit,
   * SYSC_read,
   * SYSC_write,
   */

  SYSC_COUNT  /* should always be last -- keeps track of number of syscalls */ 
} sysc_tag;

#endif /* _XXXOS_SYSCALL_TAGS_H */
